ShowTable of Contents
概要
必須入力チェックの方法とエラーメッセージの表示方法について説明する記事になります。
「1.ラベルコントロールを利用したエラー表示」のチェック方法を推奨
その他2~4のチェック方法については他にどのような方法で入力チェックができるかを
調査した結果を参考として記載しております。
ラベルコントロールを利用したエラー表示
(入力チェック:サーバーサイド JavaScript(SSJS)、LotusScript(エージェント))
[実装方法]
1.画面上にエラーメッセージを表示するためのパネルを(Checkpanel)配置し、その中にエラーメッセージ表示用の
編集ボックス(WF_ErrMsg)と、エラー発生時にエラーイメージを表示するパネル(Checkpanel)を配置する。
(パネル(Checkpanel)は、エラーメッセージがある場合のみ表示するように可視制御する。)
(パネル、編集ボックスの名称は任意)
①.
SSJSによる入力チェック
チェックを行うイベント箇所にサーバーサイドの入力チェックを記述し、
エラーがある場合エラーメッセージ表示用の編集ボックス(WF_ErrMsg)にエラーメッセージを設定する
②.
LotusScript(エージェント)による入力チェック
SSJSによりエージェントを実行し、エラーがあった場合にはエラーメッセージ表示用の編集ボックス(WF_ErrMsg)に
エラーメッセージをセットする
入力チェック用のエージェントを作成する
妥当性検査、エラー表示コントロールを利用した入力チェック
[実装方法]
1.入力チェックを行うコントロールに妥当検査を設定する。

※エラー表示コントロールを使用する場合には、disableClientSideValidation が"true"である必要がある
"false"の場合、アラートによるエラー表示となる
2.エラー表示コントロールを配置し、エラーを表示するコントロールを指定する。
3.複数エラー表示コントロールを配置する。
アラートによるエラー表示
(入力チェック:クライアントサイド JavaScript(CSJS))
[実装方法]
1.チェックを行うイベント箇所にCSJSの入力チェックを記述しエラー内容をアラート表示する。
アラートによるエラー表示
(入力チェック:クライアントサイド JavaScript(CSJS)→サーバーサイド JavaScript(SSJS))
[実装方法](「3.アラートによるエラー表示(入力チェック:クライアントサイド JavaScript) 」の続きでサーバーサイド JavaScriptで入力チェックを行う)
他の文書と比較して入力値が妥当であるか判断するときなど、 サーバーサイドJavaScriptを利用してチェックする必要がある場合などに使用できる
"#{Javascript: (SSJS) }"の形式でCSSJにSSJSを記述することができる
※※※注意※※※
通常、SSJSでGetComponent()を用いて値を取得することが可能であるが、
CSJSからSSJSを呼び出す場合、
新規作成状態(保存されていない状態)ではGetComponent()
で値を取得することができない
(SSJSで処理をした際にはJSFのライフサイクルのなかでFacesContextと呼ばれるオブジェクトが生成され、
それにSSJSからアクセスすることができるのだが、CSJSからSSJSを呼び出した場合にはFaceContextが
生成されないため値が取得出来ない)
そのため、SSJSでは比較対象となる値を返し、実際のチェックはCSJS側で実行する必要がある
CSJS実行後のSSJS内にて入力チェックを行いたい場合にはSSJSを、CSJS内で呼び出すのではなく別の方法で呼び出す必要がある
[実装方法]
1.サーバーサイドJavaScriptを実装したボタン(
display:none)を作成する
入力チェックを記述し、エラーがある場合エラーメッセージをSessionScope変数に格納する。
(Scope変数を使用せずに、編集ボックス等を使用してもよい)
2.クライアントサイド JavaScriptによる入力チェックのあとで、サーバーサイドJavaScriptを実装したボタンをクリックする
3.onClientLoadイベントで、エラーメッセージがあればエラー内容をアラート表示する。
(注意:エラーメッセージ格納用の変数等はクリアする必要あり)
その他
<調査環境>
Lotus Domino Designer 8.5.3
Microsoft Internet Explorer 8
この記事は九州地区ノーツパートナー会技術部会(
株式会社 イノス)によって作成されました。